package com.zhentao.dto;

import lombok.Data;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 汇总查询结果DTO
 * 根据业务流程需求设计，支持下钻溯源功能
 */
@Data
public class SummaryQueryResultDto {
    
    /**
     * 分组维度值（如关区、企业等）
     * 支持Level 1, Level 2, Level 3层级
     */
    private Map<String, String> dimensionValues;
    
    /**
     * 报关单数量（去重统计）
     */
    private Long declareCount;
    
    /**
     * 记录数量
     */
    private Long recordCount;
    
    /**
     * 金额（人民币）
     */
    private BigDecimal amountCny;
    
    /**
     * 金额（美元）
     */
    private BigDecimal amountUsd;
    
    /**
     * 商品数量
     */
    private Long goodsQuantity;
    
    /**
     * 进出口类型
     */
    private String importExportType;
    
    /**
     * 其他数值型字段（动态扩展）
     * 来自处理表的数值型字段
     */
    private Map<String, Object> numericFields;
    
    /**
     * 子级数据（用于下钻查询）
     * 支持逐级下钻溯源到最细粒度的原始数据
     */
    private List<SummaryQueryResultDto> children;
    
    /**
     * 层级深度（1-第一层，2-第二层，3-第三层）
     */
    private Integer level;
    
    /**
     * 是否可下钻
     */
    private Boolean drillable;
    
    /**
     * 下钻路径
     */
    private List<String> drillPath;
} 